home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 2.iso / dist / fw_groff.idb / usr / freeware / catman / u_man / cat1 / ggrn.Z / ggrn
Text File  |  2002-04-08  |  16KB  |  346 lines

  1. GRN(1)                               GRN(1)
  2.  
  3.  
  4.  
  5. NNAAMMEE
  6.        grn - groff preprocessor    for gremlin files
  7.  
  8. SSYYNNOOPPSSIISS
  9.        ggrrnn [ --CCvv ] [ --TT_d_e_v ] [ --MM_d_i_r ] [ --FF_d_i_r ] [ _f_i_l_e_._._.  ]
  10.  
  11.        It  is  possible    to have    whitespace between a command line
  12.        option and its parameter.
  13.  
  14. DDEESSCCRRIIPPTTIIOONN
  15.        _g_r_n is a    preprocessor for including  _g_r_e_m_l_i_n  pictures  in
  16.        _g_r_o_f_f  input.   _g_r_n  writes to standard output, processing
  17.        only input lines    between    two that start with ..GGSS    and  ..GGEE..
  18.        Those  lines must contain _g_r_n commands (see below).  These
  19.        commands    request    a _g_r_e_m_l_i_n file,    and the    picture     in  that
  20.        file  is     converted  and    placed in the _t_r_o_f_f input stream.
  21.        The ..GGSS request may be followed by a C, L, or R to center,
  22.        left,  or right justify the whole _g_r_e_m_l_i_n picture (default
  23.        justification is    center).  If no    _f_i_l_e  is  mentioned,  the
  24.        standard     input    is  read.  At the end of the picture, the
  25.        position    on the page is the bottom of the _g_r_e_m_l_i_n picture.
  26.        If  the    _g_r_n  entry  is ended with ..GGFF instead of ..GGEE, the
  27.        position    is left    at the top of the picture.
  28.  
  29.        Please note that    currently only the -me macro package  has
  30.        support for ..GGSS,    ..GGEE, and ..GGFF.
  31.  
  32.        The following command-line options are understood:
  33.  
  34.        --TT_d_e_v  Prepare output for printer _d_e_v.  The default device
  35.           is ppss.  See ggrrooffff(1) for acceptable devices.
  36.  
  37.        --MM_d_i_r  Prepend _d_i_r to the default search    path for  _g_r_e_m_l_i_n
  38.           files.   The  default  path  is (in that order) the
  39.           current directory, the home  directory,  //uussrr//ffrreeee
  40.           wwaarree//lliibb//ggrrooffff//ssiittee--ttmmaacc,               //uussrr//ffrreeee
  41.           wwaarree//sshhaarree//ggrrooffff//ssiittee--ttmmaacc,     and      //uussrr//ffrreeee
  42.           wwaarree//sshhaarree//ggrrooffff//11..1177..22//ttmmaacc.
  43.  
  44.        --FF_d_i_r  Search  _d_i_r for subdirectories ddeevv_n_a_m_e (_n_a_m_e is the
  45.           name of the device) for the DDEESSCC    file  before  the
  46.           normal //uussrr//ffrreeeewwaarree//sshhaarree//ggrrooffff//11..1177..22//ffoonntt.
  47.  
  48.        --CC     Recognize     ..GGSS  and ..GGEE (resp.  ..GGFF) even    when fol
  49.           lowed by a character other than space or newline.
  50.  
  51.        --vv     Print the    version    number.
  52.  
  53. GGRRNN CCOOMMMMAANNDDSS
  54.        Each input line between ..GGSS and ..GGEE may have one    _g_r_n  com
  55.        mand.  Commands consist of one or two strings separated by
  56.        white space, the    first string being the    command     and  the
  57.        second  its  operand.  Commands may be upper or lower case
  58.        and abbreviated down to one character.
  59.  
  60.        Commands    that affect a picture's    environment (those listed
  61.        before ddeeffaauulltt, see below) are only in effect for the cur
  62.        rent picture: The  environment  is  reinitialized  to  the
  63.        defaults     at  the start of the next picture.  The commands
  64.        are as follows:
  65.  
  66.        11 _N
  67.        22 _N
  68.        33 _N
  69.        44 _N    Set _g_r_e_m_l_i_n's text size number 1 (2, 3, or 4) to    _N
  70.           points.    The default is 12 (resp. 16, 24, and 36).
  71.  
  72.        rroommaann _f
  73.        iittaalliiccss _f
  74.        bboolldd _f
  75.        ssppeecciiaall _f
  76.           Set the roman (italics, bold, or special)     font  to
  77.           _t_r_o_f_f's  font  _f    (either     a  name or number).  The
  78.           default is R (resp. I, B,    and S).
  79.  
  80.        ll _f
  81.        ssttiippppllee _f
  82.           Set the stipple font  to    _t_r_o_f_f's     stipple  font    _f
  83.           (name  or     number).   The     command  ssttiippppllee  may be
  84.           abbreviated down as far as `st' (to avoid    confusion
  85.           with  ssppeecciiaall).    There  is _n_o default for stipples
  86.           (unless one is set by the    default    command), and  it
  87.           is  illegal to include a _g_r_e_m_l_i_n picture with poly
  88.           gons without specifying a    stipple    font.
  89.  
  90.        xx _N
  91.        ssccaallee _N
  92.           Magnify the picture (in  addition     to  any  default
  93.           magnification) by    _N, a floating point number larger
  94.           than zero.  The command ssccaallee  may  be  abbreviated
  95.           down to `sc'.
  96.  
  97.        nnaarrrrooww _N
  98.        mmeeddiiuumm _N
  99.        tthhiicckk _N
  100.           Set the thickness    of _g_r_e_m_l_i_n's narrow (resp. medium
  101.           and thick) lines to _N times 0.15pt (this value  can
  102.           be  changed  at  compile time).  The default is 1.0
  103.           (resp. 3.0 and 5.0), which  corresponds  to  0.15pt
  104.           (resp.  0.45pt  and  0.75pt).  A thickness value of
  105.           zero selects the smallest    available line thickness.
  106.           Negative values cause the    line thickness to be pro
  107.           portional    to the current point size.
  108.  
  109.        ppooiinnttssccaallee _<_o_f_f_/_o_n_>
  110.           Scale text to match the picture.    Gremlin     text  is
  111.           usually  printed    in  the    point size specified with
  112.           the commands 11, 22, 33, or 44 regardless of any  scal
  113.           ing  factors  in    the  picture.  Setting ppooiinnttssccaallee
  114.           will cause the point sizes to scale with    the  pic
  115.           ture  (within  _t_r_o_f_f's limitations, of course).  An
  116.           operand of anything but _o_f_f will turn text  scaling
  117.           on.
  118.  
  119.        ddeeffaauulltt
  120.           Reset  the picture environment defaults to the set
  121.           tings in the current picture.  This is meant to  be
  122.           used as a    global parameter setting mechanism at the
  123.           beginning    of the _t_r_o_f_f input file, but can be  used
  124.           at any time to reset the default settings.
  125.  
  126.        wwiiddtthh _N
  127.           Forces the picture to be _N inches    wide.  This over
  128.           rides any    scaling    factors    present    in the same  pic
  129.           ture.  `wwiiddtthh _0' is ignored.
  130.  
  131.        hheeiigghhtt _N
  132.           Forces  picture  to  be  _N  inches high, overriding
  133.           other  scaling  factors.     If  both   `width'   and
  134.           `height'    are specified the tighter constraint will
  135.           determine    the scale of  the  picture.   HHeeiigghhtt  and
  136.           wwiiddtthh  commands  are  not    saved with a ddeeffaauulltt com
  137.           mand.  They will,    however, affect    point size  scal
  138.           ing if that option is set.
  139.  
  140.        ffiillee _n_a_m_e
  141.           Get picture from _g_r_e_m_l_i_n file _n_a_m_e located the cur
  142.           rent directory (or in the     library  directory;  see
  143.           the  --MM  option  above).     If two    ffiillee commands are
  144.           given, the second    one overrides the first.  If _n_a_m_e
  145.           doesn't  exist,  an  error  message is reported and
  146.           processing continues from    the ..GGEE    line.
  147.  
  148. NNOOTTEESS AABBOOUUTT GGRROOFFFF
  149.        Since _g_r_n is a preprocessor, it doesn't know about current
  150.        indents,     point    sizes,    margins,  number  registers, etc.
  151.        Consequently, no    _t_r_o_f_f input can    be placed between the ..GGSS
  152.        and  ..GGEE    requests.  However, _g_r_e_m_l_i_n text is now    processed
  153.        by _t_r_o_f_f, so anything legal in  a  single  line    of  _t_r_o_f_f
  154.        input  is  legal     in  a    line of    _g_r_e_m_l_i_n    text (barring `.'
  155.        directives at the beginning of a    line).    Thus, it is  pos
  156.        sible to    have equations within a    _g_r_e_m_l_i_n    figure by includ
  157.        ing in the _g_r_e_m_l_i_n file _e_q_n expressions enclosed    by previ
  158.        ously defined delimiters    (e.g.  _$_$).
  159.  
  160.        When  using _g_r_n along with other    preprocessors, it is best
  161.        to run _t_b_l before _g_r_n, _p_i_c, and/or _i_d_e_a_l     to  avoid  over
  162.        working _t_b_l.  _E_q_n should    always be run last.
  163.  
  164.        A  picture  is considered an entity, but    that doesn't stop
  165.        _t_r_o_f_f from trying to break it up    if it falls off     the  end
  166.        of  a  page.   Placing  the picture between `keeps' in -me
  167.        macros will ensure proper placement.
  168.  
  169.        _g_r_n uses    _t_r_o_f_f's    number registers gg11 through gg99    and  sets
  170.        registers gg11 and    gg22 to the width    and height of the _g_r_e_m_l_i_n
  171.        figure (in device units)    before entering    the  ..GGSS  request
  172.        (this is    for those who want to rewrite these macros).
  173.  
  174. GGRREEMMLLIINN    FFIILLEE FFOORRMMAATT
  175.        There  exist two    distinct _g_r_e_m_l_i_n file formats, the origi
  176.        nal format from the _A_E_D graphic terminal    version, and  the
  177.        _S_U_N  or    _X_1_1 version.  An extension to the _S_U_N/_X_1_1 version
  178.        allowing    reference points with negative coordinates is nnoott
  179.        compatible  with     the  _A_E_D  version.  As    long as    a _g_r_e_m_l_i_n
  180.        file does not contain negative coordinates, either  format
  181.        will  be     read  correctly  by either version of _g_r_e_m_l_i_n or
  182.        _g_r_n.  The other difference to the _S_U_N/_X_1_1  format  is  the
  183.        use  of    names  for picture objects (e.g., POLYGON, CURVE)
  184.        instead of numbers.  Files representing the  same  picture
  185.        are shown in Table 1 in each format.
  186.  
  187.          sungremlinfile           gremlinfile
  188.          0 240.00 128.00       0 240.00    128.00
  189.          CENTCENT           2
  190.          240.00    128.00           240.00 128.00
  191.          185.00    120.00           185.00 120.00
  192.          240.00    120.00           240.00 120.00
  193.          296.00    120.00           296.00 120.00
  194.          *               -1.00 -1.00
  195.          2 3               2 3
  196.          10 A Triangle           10 A Triangle
  197.          POLYGON           6
  198.  
  199.          224.00    416.00           224.00 416.00
  200.          96.00 160.00           96.00 160.00
  201.          384.00    160.00           384.00 160.00
  202.          *               -1.00 -1.00
  203.          5 1               5 1
  204.          0               0
  205.          -1               -1
  206.  
  207.             Table 1. File examples
  208.  
  209.  
  210.          The first line of each _g_r_e_m_l_i_n file contains either
  211.           the string ggrreemmlliinnffiillee (_A_E_D version) or ssuunnggrreemmlliinn
  212.           ffiillee (_S_U_N/_X_1_1)
  213.  
  214.          The  second  line    of the file contains an    orienta
  215.           tion, and    xx and yy    values for a  positioning  point,
  216.           separated     by spaces.  The orientation, either 00 or
  217.           11, is ignored by the _S_U_N/_X_1_1 version.  00 means that
  218.           _g_r_e_m_l_i_n  will  display  things in    horizontal format
  219.           (drawing area wider than    it  is    tall,  with  menu
  220.           across  top).   11     means    that _g_r_e_m_l_i_n will display
  221.           things in    vertical format    (drawing area taller than
  222.           it  is  wide, with menu on left side).  xx    and yy are
  223.           floating point values giving a positioning point to
  224.           be  used    when this file is read into another file.
  225.           The stuff    on this    line really isn't all that impor
  226.           tant; a value of ``1 0.00    0.00'' is suggested.
  227.  
  228.          The  rest of the file consists of zero or more ele
  229.           ment specifications.  After the last element speci
  230.           fication is a line containing the    string ``-1''.
  231.  
  232. EELLEEMMEENNTT    SSPPEECCIIFFIICCAATTIIOONNSS
  233.          The  first     line  of each element contains    a single
  234.           decimal number giving the    type of    the element  (_A_E_D
  235.           version)    or its ASCII name (_S_U_N/_X_1_1 version).  See
  236.           Table 2.
  237.  
  238.         _g_r_e_m_l_i_n    File Format - Object Type Specification
  239.  
  240.         _A_E_D    Number     _S_U_N/_X_1_1 Name        Description
  241.          0     BOTLEFT    bottom-left-justified text
  242.          1     BOTRIGHT    bottom-right-justified text
  243.          2     CENTCENT    center-justified text
  244.          3     VECTOR        vector
  245.          4     ARC        arc
  246.          5     CURVE        curve
  247.          6     POLYGON    polygon
  248.         10     TOPLEFT    top-left-justified text
  249.         11     TOPCENT    top-center-justified text
  250.         12     TOPRIGHT    top-right-justified text
  251.         13     CENTLEFT    left-center-justified text
  252.         14     CENTRIGHT    right-center-justified text
  253.         15     BOTCENT    bottom-center-justified    text
  254.  
  255.                     Table 2.
  256.               Type Specifications in _g_r_e_m_l_i_n Files
  257.  
  258.  
  259.          After the object type comes a  variable  number  of
  260.           lines,  each specifying a    point used to display the
  261.           element.    Each line contains an x-coordinate and    a
  262.           y-coordinate in floating point format, separated by
  263.           spaces.  The list    of points is terminated    by a line
  264.           containing  the  string ``-1.0 -1.0'' (_A_E_D version)
  265.           or a single asterisk, ``*'' (_S_U_N/_X_1_1 version).
  266.  
  267.          After the points comes a line containing two  deci
  268.           mal  values, giving the brush and    size for the ele
  269.           ment.  The brush    determines  the     style    in  which
  270.           things  are  drawn.   For    vectors, arcs, and curves
  271.           there are    six legal brush    values:
  272.  
  273.             1 -      thin dotted lines
  274.             2 -      thin dot-dashed lines
  275.             3 -      thick    solid lines
  276.             4 -      thin dashed lines
  277.             5 -      thin solid lines
  278.             6 -      medium solid lines
  279.  
  280.           For polygons, one    more  value,  0,  is  legal.   It
  281.           specifies     a polygon with    an invisible border.  For
  282.           text, the    brush selects a    font as    follows:
  283.  
  284.               1    -    roman (R font in groff)
  285.               2    -    italics    (I font    in groff)
  286.               3    -    bold (B    font in    groff)
  287.               4    -    special    (S font    in groff)
  288.  
  289.           If you're    using _g_r_n to run  your    pictures  through
  290.           _g_r_o_f_f, the font is really    just a starting    font: The
  291.           text string can contain formatting  sequences  like
  292.           ``\fI''  or  ``\d''  which  may change the font (as
  293.           well as do many other things).  For text,    the  size
  294.           field  is     a  decimal  value  between  1 and 4.  It
  295.           selects the size of the font in which the    text will
  296.           be  drawn.  For polygons,    this size field    is inter
  297.           preted as    a stipple  number  to  fill  the  polygon
  298.           with.   The  number is used to index into    a stipple
  299.           font at print time.
  300.  
  301.          The last line of each element  contains  a     decimal
  302.           number  and  a string of characters, separated by    a
  303.           single space.  The number    is a count of the  number
  304.           of  characters  in the string.  This information is
  305.           only used    for text elements, and contains    the  text
  306.           string.    There can be spaces inside the text.  For
  307.           arcs, curves, and    vectors, this line of the element
  308.           contains the string ``0''.
  309.  
  310. NNOOTTEESS OONN CCOOOORRDDIINNAATTEESS
  311.        _g_r_e_m_l_i_n was designed for    _A_E_Ds, and its coordinates reflect
  312.        the _A_E_D coordinate space.  For vertical pictures, x-values
  313.        range  116  to 511, and y-values    from 0 to 483.    For hori
  314.        zontal pictures,    x-values range from 0 to 511 and y-values
  315.        range  from  0  to  367.      Although you needn't absolutely
  316.        stick to    this range, you'll get best  results  if  you  at
  317.        least stay in this vicinity.  Also, point lists are termi
  318.        nated by    a point    of (-1,    -1), so    you  shouldn't    ever  use
  319.        negative     coordinates.    _g_r_e_m_l_i_n     writes     out  coordinates
  320.        using format ``%f1.2''; it's probably a good idea  to  use
  321.        the same    format if you want to modify the _g_r_n code.
  322.  
  323. NNOOTTEESS OONN SSUUNN//XX1111 CCOOOORRDDIINNAATTEESS
  324.        There  is  no longer a restriction on the range of coordi
  325.        nates used to create objects in    the  _S_U_N/_X_1_1  version  of
  326.        _g_r_e_m_l_i_n.      However,  files  with    negative coordinates wwiillll
  327.        cause problems if displayed on the _A_E_D.
  328.  
  329. FFIILLEESS
  330.        //uussrr//ffrreeeewwaarree//sshhaarree//ggrrooffff//11..1177..22//ffoonntt//ddeevv_n_a_m_e//DDEESSCC
  331.           Device description file for device _n_a_m_e.
  332.  
  333. SSEEEE AALLSSOO
  334.        ggrreemmlliinn(1), ggrrooffff(1), ppiicc(1), iiddeeaall(1)
  335.  
  336. HHIISSTTOORRYY
  337.        David Slattengren and Barry Roitblat  wrote  the     original
  338.        Berkeley    _g_r_n.
  339.  
  340.        Daniel  Senderowicz  and     Werner     Lemberg  modified it for
  341.        _g_r_o_f_f.
  342.  
  343.  
  344.  
  345. Groff Version 1.17.2       27 June 2001               GRN(1)
  346.